﻿<?php


/*


	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
	 * 																								 *
	 * Autor: Mateusz Michoń																		 *
	 * Data utworzenia: 05.11.2012																	 *
	 * Data ostatniej modyfikacji: 08.12.2012														 *
	 * 																								 *
	 * klasa odpowiadająca za pisanie prywatnych wiadomośći między użytkownikami					 *
	 * odpowiada również za wyświetlenie wiadomośći użytkownikowi									 *
	 * 																								 *
	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *       
 
 
 */



require_once 'klasy/db_class.php';

        class Wiadomosci        
        {
       

                public function pokaz_wiadomosci()
                {
                        $db = new mysqli(DB_class::$host, DB_class::$user, DB_class::$pass, DB_class::$dbName);                                                
                        if(mysqli_connect_errno())
                        {
                                echo '<div  class="blad"> Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
                                echo '</br> <a href="#"> wróć </a> do logowania</div>';
                                exit;
                        }
                       
                       
                       
                        $zapytanie = "select * from `wiadomosci` where `odbiorca`=(select `id_osoba` from `uzytkownik` where `login`='".$_SESSION['login']."') order by czas_wyslania DESC ;";
                        $wynik = $db->query($zapytanie);
                        $ilosc = $wynik->num_rows;

                        echo'
                                <table  class="table bg table-striped table-bordered table-hover table-condensed" >
								<thead>
                                        <tr>
                                                <!--<th> id </th>-->
                                                <th> nadawca </th>
                                                <th> temat </th>
                                                <th> wysłane </th>
                                                <th> usun </th>
                                                <th> przeczytana </th>
                                        </tr>
								</thead>
                        ';      
                                        for($i=0;$i<$ilosc;$i++)
                                        {
                                                $row=$wynik->fetch_assoc();
                                                $co=$row{'id_wiadomosc'} ;
                                             
                                                if($row['nadawca']>0)
                                                {
                                                        $zapytanie2= "select login from uzytkownik where id_osoba=".$row['nadawca'];
                                                        $wynik2=$db->query($zapytanie2);
                                                        $roww=$wynik2->fetch_assoc();
                                                        $nlogin=$roww['login'];
                                                }
                                                else
                                                	$nlogin='<i>Wiadomość systemowa</i>';
                                            
                                                echo '
                                                        <tr id="ww">
                                                                <!--<td> '.$row['id_wiadomosc'].' </td>-->
                                                                <td> '.$nlogin.' </td>
                                                                <td> <a href="./index.php?o=wiadomosci&a=wyswietl_wiadomosc&ide='.$row['id_wiadomosc'].'"> '.$row['temat'].' </a></td>
                                                                <td> '. date("Y.m.d H:i:s",$row['czas_wyslania']).' </td>
                                                                <td> <a href="./index.php?o=wiadomosci&a=usun_wiadomosc&ide='.$row['id_wiadomosc'].'"> usuń </a></td>                                                          
                                                                <td>';
                                                                        if($row['czy_przeczytana']==1){echo'tak';}else{echo'nie';}
                                                                                echo'
                                                                </td>
                                                        </tr>
                                                ';
                                        }
                        echo'
                                </table>
                                ';
              
					   echo '<form action="index.php?o=wiadomosci&a=n_wiadomosc"  method="post"> <input type="submit" value="napisz wiadomość"> </form>';
                }
               
                public function pokaz_wiadomosc($id)
                {
                       
                        $db = new mysqli(DB_class::$host, DB_class::$user, DB_class::$pass, DB_class::$dbName);                
                        if(mysqli_connect_errno())
                        {
                                echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
                                echo '</br> <a href> wróć </a> do logowania';
                                exit;
                        }

                       
                        $zapytanie="select * from `wiadomosci` where `id_wiadomosc`='".$id."';";
                        $wynik = $db->query($zapytanie);
                        $row=$wynik->fetch_assoc();
                       
                        if($row['nadawca']>0)
                        {
                        	$zapytanie2= "select login from uzytkownik where id_osoba=".$row['nadawca'];
                        	$wynik2=$db->query($zapytanie2);
                        	$roww=$wynik2->fetch_assoc();
                        	$nlogin=$roww['login'];
                        }
                        else
                        	$nlogin='<i>Wiadomość systemowa</i>';
                        
                       
                        echo'
                                <div id="wiadomosc">
                                        <table >
                                                <tr>
													<td id="lk">     NADAWCA:  </td>
													<td id="ww"> '.$nlogin.'</td>
                                                </tr>
                                                <tr>
													</br>
													<td id="lk"> TEMAT: </td>
													<td id="ww" class="ow"> '.$row['temat'].'</td>
                                                </tr>
                                                
                                                <tr>
													</br>	
													<td id="lk">Treść:</td> 
													<td id="ww"> '.nl2br($row['tresc']).'</td>
                                                </tr>
												

                                        </table>
										
                                </div>
                               
                                </br></br>
							<form>	<a class="przycisk" href="./index.php?o=wiadomosci&a=wyswietl_wiadomosci" > wróć </a>';
                                
                         if($row['nadawca']>0)  echo '<a class="przycisk" href="index.php?o=wiadomosci&a=odpowiedz&id='.$row['id_wiadomosc'].'"> odpowiedz </a> ';
                         echo '</form>
                        ';
                       
                        $zapytanie = "UPDATE `wiadomosci` SET `czy_przeczytana`=1 WHERE `id_wiadomosc`=".$row['id_wiadomosc'] ;
                        $wynik=$db->query($zapytanie);
                }
               
                public function usun_wiadomosc ($id)
                {
                        $db = new mysqli(DB_class::$host, DB_class::$user, DB_class::$pass, DB_class::$dbName);                                
                        if(mysqli_connect_errno())
                        {
                                echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
                                echo '</br> <a href> wróć </a> do logowania';
                                exit;
                        }

                       
                        $zapytanie="DELETE FROM `wiadomosci` WHERE `id_wiadomosc`='".$id."';";
                        $wynik = $db->query($zapytanie);
                       
					    if($wynik)
						{
							echo '<div  class="blad"> wiadomość została usunięta </div>';
							echo '</br> <form> <a class="przycisk" href="./index.php?o=wiadomosci&a=wyswietl_wiadomosci"> wróć </a> </form>';
						}
						else
						{
							echo '<div  class="blad"> wystąpił błąd, wiadomosć nie została usunięta</div>';
							echo '<a href="./index.php?o=wiadomosci&a=wyswietl_wiadomosci"> wróć </a>';
						}
                }
               
                public function wyslij($nadawca, $odbiorca, $temat, $tresc)
                {
                        $db = new mysqli(DB_class::$host, DB_class::$user, DB_class::$pass, DB_class::$dbName);                                
                        if(mysqli_connect_errno())
                        {
                                echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
                                echo '</br> <a href="#"> wróć </a> do logowania';
                                exit;
                        }

						$czy_istnieje = "select * from uzytkownik where login='".$odbiorca."'";
						$wyn = $db->query($czy_istnieje);
						$il = $wyn->num_rows;
						
						if(empty($temat))
						{
							$temat = "brak";
						}
						
						if($il > 0)
						{
               
							$czas = time();
							$zapytanie="INSERT INTO `wiadomosci` VALUES (null, (select `id_osoba` from `uzytkownik` where `login`='".$odbiorca."'), (select `id_osoba` from `uzytkownik` where `login`='".$nadawca."'), '".$temat."','".$tresc."',".$czas.",0);";
							$wynik = $db->query($zapytanie);
						   
							if($wynik)
							{
								echo'<div  class="sukces"> wiadomosc zostala wysłana</div>';
								echo '</br> <form> <a class="przycisk" href="./index.php?o=wiadomosci&a=wyswietl_wiadomosci"> wróć </a> </form>';
							}
							else
							{
								echo '<div  class="blad"> wystąpił błąd, wiadomość nie została wysłana'.$czas;
								echo '</div></br> <form> <a class="przycisk" href="index.php?o=wiadomosci&a=n_wiadomosc"> wróć </a> </form>';
								
							}
						}
						else
						{
							echo '<div  class="blad"> użtykownik do którego chcesz wysłać wiadomość nie istnieje </div>';
							echo '</br> <form> <a class="przycisk" href="index.php?o=wiadomosci&a=n_wiadomosc"> wróć </a> </form>';
						}
                }
               
                public function napisz_wiadomosc ()
                {
                        echo'
                                <div id="napisz_wiadomosc">
                                        <form action="./index.php?o=wiadomosci&a=wyslij" method=post>
                                                <table>
                                                        <tr>
                                                                <td align="right">Do kogo:</td>
                                                                <td><input type="text" name="ww_odbiorca"'; if(isset($_GET['do'])){ echo 'value="'.$_GET['do'].'"'; } echo'></td>
                                                        </tr>
                                                        <tr>
                                                                <td align="right"> TEMAT: </td>
                                                                <td> <input type="text" name="ww_temat">
                                                        </tr>
                                                        <tr>
                                                                <td > TREŚĆ WIADOMOŚCI: </td>
																<td > <textarea name="ww_tresc"></textarea></td>
                                                        </tr>
                                                        
                                                                
                                                        
                                                        <tr>
															<td colspan="2" align="center"> 
																<input type="submit" value="wyślij">
																 <a class="przycisk" href="index.php?o=wiadomosci&a=wyswietl_wiadomosci"> anuluj </a>
															</td>
                                                        </tr>
                                                </table>
                                        </form>
                                </div>
                               
                        ';
                }
				
				
				public function odpowiedz($id)
				{
					$db = new mysqli(DB_class::$host, DB_class::$user, DB_class::$pass, DB_class::$dbName);                                
                    if(mysqli_connect_errno())
                    {
                        echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
                        echo '</br> <a href="#"> wróć </a> do logowania';
                        exit;
                    }

					 $zapytanie = "select * from wiadomosci where id_wiadomosc=".$id.";";
					 $wynik= $db->query($zapytanie);
					 $row=$wynik->fetch_assoc();
					 
					 $nadawca= $row['nadawca'];
					 $odbiorca = $row['odbiorca'];
					 $temat =  $row['temat'];
					 $tresc = $row['tresc'];
					 
					 $zapytanie2 = "select login from uzytkownik where id_osoba='".$nadawca."';";
					 $wynik2= $db-> query($zapytanie2);
					 $row2=$wynik2->fetch_assoc();
					 echo'
                                <div id="napisz_wiadomosc">
                                        <form action="./index.php?o=wiadomosci&a=wyslij" method="post">
                                                <table>
                                                        <tr>
                                                                <td>Do kogo:</td>
                                                                <td><input type="text" name="ww_odbiorca" value="'.$row2['login'].'"></td>
                                                        </tr>
                                                        <tr>
                                                                <td> TEMAT: </td>
                                                                <td> <input type="text" name="ww_temat" value="RE: '.$temat.'">
                                                        </tr>
                                                        <tr>
                                                                <td > TREŚĆ WIADOMOŚCI: </td>
																<td > <textarea name="ww_tresc"> RE: '.$tresc.' </textarea></td>
                                                        </tr>
                                                        <tr>
                                                                
                                                        </tr>
                                                        <tr>
                                                                <td colspan="2" align="center"> 
																	<input type="submit" value="wyślij">
																	 <a class="przycisk" href="index.php?o=wiadomosci&a=wyswietl_wiadomosci"> anuluj </a>
																</td>
                                                        </tr>
                                                </table>
                                        </form>
                                </div>
                               
                        ';
				}
				
		
				public function wyslij_potwierdzenie($id_oczekujacy,$moderator)
				{
					$tresc="";
					
					$db = new mysqli(DB_class::$host, DB_class::$user, DB_class::$pass, DB_class::$dbName);                                
                    if(mysqli_connect_errno())
                    {
                        echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
                        echo '</br> <a href="#"> wróć </a> do logowania';
                        exit;
                    }
				
					$zapytanie = "select * from wezly_oczekujace where id_wezel=".$id_oczekujacy;
					$wynik = $db->query($zapytanie);
					$row=$wynik->fetch_assoc();

					$zap_zgloszeniodawca = "select imie, nazwisko from osoba where id_osoba=".$row['zgloszeniodawaca'];	
					$zap_rodzic = "select imie, nazwisko from osoba where id_osoba=".$row['rodzic'];
					$zap_partner = "select imie, nazwisko from osoba where id_osoba=".$row['partner'];
					$wezel = "select * from osoba where id_osoba=".$id_oczekujacy;
					
					
					
					$wynik_z = $db->query($zap_zgloszeniodawca);
					if($wynik_z)
					{
						$row2 = $wynik_z->fetch_assoc();
						$tresc= $tresc."Dzień dobry, użytkownik ".$row2['imie']." ".$row2['nazwisko']." chce dodać osobę do Twojego węzła: ";
					}
					else
					{
						echo 'wystąpił błąd, wynik_zgłoszeniodawca się nie wykonał';
					}
					
					
					$wynik_w = $db ->query($wezel);
					if($wynik_w)
					{	
						if($wynik_w->num_rows >0)
						{
							$row2 = $wynik_w->fetch_assoc();
							$tresc = $tresc."</br> imię: ".$row2['imie']." nazwisko: ".$row2['nazwisko']." data urodzenia: ".$row2['data_urodzenia'] ;
						}
					}
					
					$wynik_r = $db->query($zap_rodzic);
					if($wynik_r)
					{
						$row2 = $wynik_r->fetch_assoc();
						$tresc=$tresc."</br> rodzic: ".$row2['imie']." ".$row2['nazwisko'];
					}
					
					$wynik_p = $db->query($zap_partner);
					if($wynik_p)
					{
						$row2 = $wynik_p->fetch_assoc();
						$tresc=$tresc."</br> partner: ".$row2['imie']." ".$row2['nazwisko'];
					}
					
					
					$tresc = $tresc."</br> Czy akceptujesz dodane nowego węzła ?";
					$tresc = $tresc."<a href=index.php?o=potwierdz&id=".$id_oczekujacy."> akceptuj </a>";
					$tresc = $tresc." <a href=index.php?o=odrzuc&id=".$id_oczekujacy."> odrzuc </a>";
					$this->wyslij('System',$moderator,'dodanie nowego węzła',$tresc);
				}
        }
       
  
if($_GET['o']=="wiadomosci")
{   
	echo '<div id="wyswietlanie_wiadomosci" align="center">';		   
		if($_GET['a']=="wyswietl_wiadomosci")
		{      
			$obiekt = new Wiadomosci();
		   
			$obiekt->pokaz_wiadomosci();
		}
		
		if($_GET['a']=="wyswietl_wiadomosc")
		{
			$obiekt = new Wiadomosci();
			$obiekt->pokaz_wiadomosc($_GET['ide']);
		}

		if($_GET['a']=="usun_wiadomosc")
		{
		$obiekt= new Wiadomosci();
		$obiekt-> usun_wiadomosc($_GET['ide']);
		}

		if($_GET['a']=="n_wiadomosc")
		{
			$obiekt= new Wiadomosci();
			$obiekt->napisz_wiadomosc();
		}

		if($_GET['a']=="wyslij")
		{
			$obiekt=new Wiadomosci();
			$obiekt->wyslij($_SESSION['login'],$_POST['ww_odbiorca'],$_POST['ww_temat'],$_POST['ww_tresc']);
		}

		if(($_GET['a']=="w_wiadomosc"))
		{
			$obiekt= new Wiadomosci();
			$obiekt->wyslij($_POST['ww_odbiorca'],$_POST['ww_temat'],$_POST['ww_tresc']);
		}

		if($_GET['a']=="odpowiedz")
		{
			$obiekt= new Wiadomosci();
			$obiekt -> odpowiedz($_GET['id']);
		}
		
		if($_GET['a']=="potwierdz")
		{
			$obiekt= new Wiadomosci();
			$obiekt -> wyslij_potwierdzenie(200,'nowyy');
		}
		
	echo '</div>';
}
?>
